package com.fhyc.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 负荷准确率统计表
 * @TableName bu_bus_load_accuracy_stats_1m
 */
@Data
@TableName(value ="so_in_bus_load_accuracy")
//@TableName(value ="SO_IN_BU_BUS_LOAD_ACCURACY")
public class SoInBusLoadAccuracyEntity implements Serializable {
    /**
     * 母线ID
     */

    private Integer busId;

    /**
     * 日期
     */
    private LocalDate date;

    /**
     * 平均准确率
     */
    private Double avgAccuracy;

    /**
     * 最高负荷准确率
     */
    private Double maxLoadAccuracy;

    /**
     * 综合准确率
     */
    private Double overallAccuracy;

    /**
     * 平均预测偏差
     */
    private Double avgForecastDeviation;

    /**
     * 最大预测偏差
     */
    private Double maxForecastDeviation;

    /**
     * 最小预测偏差
     */
    private Double minForecastDeviation;

    /**
     * 最大偏差发生时间
     */
    private LocalTime maxDeviationTime;

    /**
     * 最小偏差发生时间
     */
    private LocalTime minDeviationTime;


    /**
     * 最近一次预测准确率
     */
    private Double lastForecastAccuracy;

    /**
     * 最近一次预测准确率发生时间
     */
    private LocalTime lastForecastAccuracyTime;

    /**
     * 最近一次预测偏差
     */
    private Double lastForecastDeviation;

    /**
     * 最近一次预测偏差发生时间
     */
    private LocalTime lastForecastDeviationTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 更新者
     */
    private String updateBy;

    @TableField(exist = false)
    private String station;

    @TableField(exist = false)
    private String busName;;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", busId=").append(busId);
        sb.append(", date=").append(date);
        sb.append(", avgAccuracy=").append(avgAccuracy);
        sb.append(", maxLoadAccuracy=").append(maxLoadAccuracy);
        sb.append(", overallAccuracy=").append(overallAccuracy);
        sb.append(", avgForecastDeviation=").append(avgForecastDeviation);
        sb.append(", maxForecastDeviation=").append(maxForecastDeviation);
        sb.append(", maxDeviationTime=").append(maxDeviationTime);
        sb.append(", minForecastDeviation=").append(minForecastDeviation);
        sb.append(", lastForecastAccuracy=").append(lastForecastAccuracy);
        sb.append(", lastForecastAccuracyTime=").append(lastForecastAccuracyTime);
        sb.append(", lastForecastDeviation=").append(lastForecastDeviation);
        sb.append(", lastForecastDeviationTime=").append(lastForecastDeviationTime);
        sb.append(", createdTime=").append(createTime);
        sb.append(", createdBy=").append(createBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}